#pragma once
#include "common.h"
struct VertexShader
{
	VertexShader() {}
	HRESULT Initialize(
		ID3D11Device * device,
		const wstring &filePathName,
		const string &entry,
		ID3DBlob** ppErrMsg
	);
	ID3D11VertexShader* Get() const;
	ID3DBlob* Blob() const { return blob.Get(); }
	ComPtr<ID3D11VertexShader> vs;
	ComPtr<ID3DBlob> blob;
};
struct PixelShader
{
	PixelShader() {}
	HRESULT Initialize(
		ID3D11Device * device,
		const wstring &filePathName,
		const string &entry,
		ID3DBlob** ppErrMsg
	);
	ID3DBlob* Blob() const { return blob.Get(); }
	ID3D11PixelShader* Get() const;
	ComPtr<ID3D11PixelShader> ps;
	ComPtr<ID3DBlob> blob;
};